package src.render;

import src.entity.Zombie;

import javax.swing.*;
import java.awt.*;
import java.awt.geom.AffineTransform;

public class bodyDraw {
    public static void draw(Graphics g, java.util.List<Zombie> bodys){
        for (Zombie body : bodys) {
            Image originalImage = new ImageIcon("src/resource/img/zombie_die.png").getImage();
            Graphics2D g2d = (Graphics2D) g;

            // 设置缩放比例（例如0.5表示缩小为50%）
            double scale = 0.5;

            // 保存原始变换
            AffineTransform oldTransform = g2d.getTransform();

            // 设置翻转变换
            // 参数说明：
            // -1.0: 水平翻转 (x轴方向)
            // 1.0: 垂直方向不变
            // playerX + originalImage.getWidth(this): 翻转后的X坐标基准点
            // playerY: Y坐标不变
            AffineTransform flipTransform = new AffineTransform();
            flipTransform.translate(body.getX() + 35, body.getY());
            flipTransform.scale(-1.0, 1.0);

            // 应用变换
            g2d.setTransform(flipTransform);

            // 应用缩放变换
            g2d.scale(scale, scale);

            // 绘制图像，此处坐标一般无需调整
            g2d.drawImage(
                    originalImage,
                    body.getX(),  // 调整X坐标
                    body.getY(),  // 调整Y坐标
                    null
            );

            // 恢复原始变换
            g2d.setTransform(oldTransform);
        }
    }
}
